A data processing environment comprises a variety of hardware, software, and firmware networking components. A physical network, also called an underlay, is a network defined using such components. An example of a networking component in a physical network is a computing node. A computing node is a device that can offer a service (e.g., compression, encryption, firewall, decryption, etc.) and channel incoming data from any of multiple input ports to the specific output port that will take the data toward its intended destination. Multiple computing nodes can form a service chain.
Techniques are available presently to construct a logical network, also known as a software defined network (SDN) overlay (hereinafter interchangeably, “SDN” or “overlay”), from networking components of a physical network. Essentially, networking components are abstracted into corresponding logical or virtual representations, and the abstractions are used to define the SDN. In other words, an SDN is a logical network formed and operated using logical representations of underlying networking components.
Physical networks usually exist within the demarcated boundary of the data processing environment whose networking components are utilized in the physical network. Unlike a physical network, an SDN can be designed to span across one or more data processing environments. For example, while a physical network may be contained within a datacenter, an SDN may span across one or more datacenters.
As an example, a logical representation of a hypervisor can participate in an SDN, such that a function attributed to the logical representation of the hypervisor in the SDN is actually performed by the underlying hypervisor component in the underlay. Similarly, a logical representation of a networking gateway can participate in an SDN, such that a function attributed to the logical representation of the networking gateway in the SDN is actually performed by the underlying networking gateway component in the underlay.
In an SDN, because the actual networking components that perform the networking functions are abstracted into logical entities representing the networking functionality offered by those components and not the actual implementations of those functionalities, something is needed to direct those networking functionalities into a functioning logical network. An SDN controller is a component that manages and operates the logical networking components within an SDN. For example, an SDN controller manages flow entries of computing nodes forming a service chain in an underlay network.